<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="no"/>
  <xsl:preserve-space elements="*"/>

  <xsl:template match="*">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="expr">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:if test="not(@optional)">
        <xsl:attribute name="optional">false</xsl:attribute>
      </xsl:if>
      <xsl:if test="not(@repeat)">
        <xsl:attribute name="repeat">false</xsl:attribute>
      </xsl:if>
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>
